Reactive applications relate to a class of applications that are event-driven and configured to operate upon detection of events. The exact timing and content of such events are not usually known in advance. Many tools in different areas have been built to detect events, and to couple their detection with appropriate actions. These tools exist in products that implement active databases, event management systems, the “publish/subscribe” mechanism, real-time systems and similar products. Most current reactive systems respond to a single event. Many of these tools are based on Event-Condition-Action (ECA) rules and provide a language of operators for specifying these rules. Some of these languages enable complex events to be defined as the composition of multiple simple events, for example, successive withdrawals from one or more bank accounts. Some languages also allow a complex event to be composed of a number of subsidiary complex events. In addition, a particular order or other timing constraints on the component events may be specified.
Once the complex event has been detected, there may be one or more conditions that qualify the event, for example, that the amounts of the withdrawals be greater than a specified threshold. If the conditions are satisfied, then an action is triggered, such as alerting the bank's security manager of a possible fraud. In the context of the present patent application, a specified composition of events together with the conditions attached to these events is referred to as a situation. Tools for specification of ECA rules generally make a clear separation between the event and condition portions of the rule. Thus when a computer evaluates a given situation on the basis of such tools, it first determines that an instance of the event has occurred, i.e., that all of the component events have occurred in the proper order, and only then evaluates the conditions associated with the event.
U.S. Pat. No. 6,006,016 (Faigon et al.) issued Dec. 21, 1999 discloses a method and apparatus for correlating faults in a networking system. A database of fault rules is maintained along with associated probable causes, and possible solutions for determining the occurrence of faults defined by the fault rules. The fault rules include a fault identifier, an occurrence threshold specifying a minimum number of occurrences of fault events in the networking system in order to identify the fault, and a time threshold in which the occurrences of the fault events must occur in order to correlate the fault. Occurrences of fault events in the networking system are detected and correlated by determining matched fault rules which match the fault events and generating a fault report upon determining that a number of occurrences for the matched fault rules within the time threshold is greater than or equal to the occurrence threshold for the matched fault rules.
In such a system a fault constitutes an event that must be trapped and monitored. Only those faults whose frequency exceeds a certain threshold are of interest.
U.S. Pat. No. 6,604,093 (Etzion et al.) published Aug. 5, 2003, entitled “Situation awareness system” and commonly assigned to the present assignee discloses a situation management system that provides tools for defining intervals during which a given situation is meaningful and for detecting and reacting to the occurrence of the situation during such intervals. Such an interval is referred to as a “lifespan” and begins with an initiating event, or initiator, and ends with a terminating event, or terminator. The situation management system disclosed in U.S. Pat. No. 6,604,093 enables manipulation of the initiator and terminator, such as by attachment of conditions to the initiating and terminating events. It also allows multiple, interrelated lifespans to run concurrently, with predefined relations between the lifespans. The system is described in U.S. Pat. No. 6,604,093 is an off-the-shelf situation awareness unit that is sold under the trademark AMIT by International Business Machines Inc. of Armonk, N.Y., USA. AMIT is an acronym for “Active Middleware Technology.”
Thus, such a situation management system enables temporal relations among events to be defined and detected simply and flexibly and serves as a general purpose vehicle for implementing a vast range of different applications. The events that are processed by such a system and the manner in which they are derived depends on the application that is implemented using the system, it being understood that the system described in U.S. Pat. No. 6,604,093 operates independently of the application even though it serves as a kernel to the application.
There appears to be no suggestion in the prior art to provide an execution model for the description of enterprise systems, solutions and services that supports the modeling of various entities and business components (e.g. event, disk, application, activity, business process), the information that is associated with them (i.e. schema), and the semantic relationships among them (e.g. dependency between a business component and other business components and events).